Same Tree

Given two binary trees, write a function to check if they are equal or not.

Two binary trees are considered equal if they are structurally identical and the nodes have the same value.

Solution:

  1. /**
  2. * Definition for a binary tree node.
  3. * public class TreeNode {
  4. * int val;
  5. * TreeNode left;
  6. * TreeNode right;
  7. * TreeNode(int x) { val = x; }
  8. * }
  9. */
  10. public class Solution {
  11. public boolean isSameTree(TreeNode p, TreeNode q) {
  12. if (p == null && q == null) {
  13. return true;
  14. }
  15. if (p == null || q == null) {
  16. return false;
  17. }
  18. if (p.val != q.val) {
  19. return false;
  20. }
  21. return isSameTree(p.left, q.left) && isSameTree(p.right, q.right);
  22. }
  23. }